import axios from 'axios'

//基本配置和网络请求封装
//一个页面对应一个js文件（例如home.js,detail.js），这里做基本封装，其他引用此js进行网络请求
// 所有请求统一放到network文件夹管理，网络请求和结果分离，network文件夹只负责请求部分，结果在组件内处理
// 小细节：axios创建的对象可以做promise使用，js写请求代码，组件引用js的方法并在方法结尾.then(res => {结果处理})

export function request(config) {
  const instance = axios.create({
    baseURL: 'http://152.136.185.210:8000/api/w6',//服务器地址
    timeout: 5000//最大网络请求时间
  })


  // 拦截器的使用
  instance.interceptors.request.use(config => {
    console.log(config);
    // 作用场景:
    // 比如我们要对登录(token),必须携带一些特殊信息
    // 比如每次发送网络请求,显示一个请求的加载图标
    // config一些信息不符合服务器要求,比如重新设置请求头(也可以在默认配置create里做)



    // 拦截完返回
    return config
  },err => {
    // 没有网发送出去时显示这个错误信息
  })
  // 响应拦截
  instance.interceptors.response.use(res => {
    console.log(res);
    return res.data
  },err => {
    console.log(err)
  })
  
  
  
  return instance(config)

}
